/*
 * $Id: AbstractCfgModelTypePropId.java,v 1.4 2009/07/24 18:27:41 oliver Exp $
 *
 * Copyright (C) 2006 General Electric Company. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of the General
 * Electric Company (GE). You shall not disclose this software and shall use it
 * only in accordance with the terms of the license agreement you entered into
 * with GE.
 *
 * GE MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
 * NON-INFRINGEMENT. GE SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING, OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES.
 */

package com.ge.healthcare.autosc.model;

/**
 * AbstractCfgModelTypePropId entity provides the base persistence definition of
 * the CfgModelTypePropId entity. @author MyEclipse Persistence Tools
 */

public abstract class AbstractCfgModelTypePropId implements
		java.io.Serializable {

	// Fields

	/**
	 * Eclipse generated
	 */
	private static final long serialVersionUID = -3764176732247138434L;
	private String modality;
	private String modelType;
	private String propertyName;
	private String productLine;

	// Constructors

	/** default constructor */
	public AbstractCfgModelTypePropId() {
	}

	/** full constructor */
	public AbstractCfgModelTypePropId(String modality, String modelType,
			String propertyName) {
		this.modality = modality;
		this.modelType = modelType;
		this.propertyName = propertyName;
	}

	// Property accessors

	public String getModality() {
		return this.modality;
	}

	public void setModality(String modality) {
		this.modality = modality;
	}

	public String getModelType() {
		return this.modelType;
	}

	public void setModelType(String modelType) {
		this.modelType = modelType;
	}

	public String getPropertyName() {
		return this.propertyName;
	}

	public void setPropertyName(String propertyName) {
		this.propertyName = propertyName;
	}

	public boolean equals(Object other) {
		if ((this == other))
			return true;
		if ((other == null))
			return false;
		if (!(other instanceof AbstractCfgModelTypePropId))
			return false;
		AbstractCfgModelTypePropId castOther = (AbstractCfgModelTypePropId) other;

		return ((this.getModality() == castOther.getModality()) || (this
				.getModality() != null
				&& castOther.getModality() != null && this.getModality()
				.equals(castOther.getModality())))
				&& ((this.getModelType() == castOther.getModelType()) || (this
						.getModelType() != null
						&& castOther.getModelType() != null && this
						.getModelType().equals(castOther.getModelType())))
				&& ((this.getPropertyName() == castOther.getPropertyName()) || (this
						.getPropertyName() != null
						&& castOther.getPropertyName() != null && this
						.getPropertyName().equals(castOther.getPropertyName())));
	}

	public int hashCode() {
		int result = 17;

		result = 37 * result
				+ (getModality() == null ? 0 : this.getModality().hashCode());
		result = 37 * result
				+ (getModelType() == null ? 0 : this.getModelType().hashCode());
		result = 37
				* result
				+ (getPropertyName() == null ? 0 : this.getPropertyName()
						.hashCode());
		return result;
	}

	/**
	 * @return the productLine
	 */
	public String getProductLine() {
		return productLine;
	}

	/**
	 * @param productLine the productLine to set
	 */
	public void setProductLine(String productLine) {
		this.productLine = productLine;
	}

}
